高可靠性软件设计模式实战

📚 共计 30 章节
01
高可靠性设计概述
什么是高可靠性软件、为什么需要高可靠性、可靠性度量指标(MTBF、MTTR)、常见故障模式。
概念度量
02
冗余设计模式
主备模式、双活模式、N+1冗余、冗余切换策略(冷备、温备、热备)。
高可用容错
03
故障隔离与舱壁模式
舱壁模式原理、线程池隔离、进程隔离、微服务隔离、隔离粒度选择。
隔离舱壁
04
熔断器模式
熔断器三态(关闭、打开、半开)、熔断阈值设置、熔断恢复策略、Hystrix与Resilience4j实践。
熔断保护
05
重试与退避模式
重试策略(固定间隔、指数退避、抖动)、重试风暴防范、幂等性设计、Spring Retry实战。
重试退避
06
超时控制模式
连接超时、读取超时、写入超时、超时链传递、Netty超时机制。
超时控制
07
限流模式
令牌桶算法、漏桶算法、计数器算法、滑动窗口、Guava RateLimiter与Sentinel。
限流流量
08
降级模式
业务降级、功能降级、降级策略(静默降级、返回默认值、返回缓存)、降级开关设计。
降级容错
09
健康检查与心跳模式
健康检查端点设计、心跳机制、探活策略(TCP、HTTP、gRPC)、Kubernetes探针。
健康探活
10
优雅关闭模式
信号处理(SIGTERM、SIGINT)、关闭钩子、连接排空、Spring Boot优雅关闭。
关闭优雅
11
分布式事务与一致性模式
CAP理论、BASE理论、TCC模式、Saga模式、最终一致性、Seata实践。
事务一致性
12
幂等性设计模式
幂等键、去重表、状态机、乐观锁、分布式锁、幂等性中间件。
幂等去重
13
分布式锁模式
基于数据库的锁、基于Redis的锁(Redlock)、基于ZooKeeper的锁、锁超时与续期。
分布式锁并发
14
配置管理可靠性
配置中心(Apollo、Nacos)、配置热更新、配置校验、配置回滚、配置加密。
配置热更新
15
日志与监控模式
结构化日志、日志分级、链路追踪(TraceId)、Metrics收集、告警规则设计。
日志监控
16
数据校验与防御式编程
输入校验、断言、契约式设计、防御式编程原则、参数校验框架。
校验防御
17
错误处理与异常模式
错误码设计、异常分类、全局异常处理器、异常恢复策略、Go与Java实践。
异常错误码
18
状态机与工作流模式
有限状态机、状态转移表、工作流引擎(Activiti、Camunda)、状态持久化。
状态机工作流
19
事件驱动与消息可靠性
消息持久化、消息确认(ACK)、死信队列、重试队列、Kafka与RabbitMQ实践。
消息事件
20
缓存可靠性模式
缓存穿透、缓存击穿、缓存雪崩、缓存一致性(Cache Aside、Read/Write Through)、本地缓存与分布式缓存。
缓存一致性
21
数据库可靠性模式
读写分离、分库分表、主从复制、故障转移、连接池管理(HikariCP)。
数据库高可用
22
服务发现与注册可靠性
注册中心(Eureka、Consul、Nacos)、健康检查、服务摘除、自我保护机制。
服务发现注册
23
负载均衡可靠性
负载均衡算法(轮询、加权、最小连接)、健康探测、会话保持、LVS与Nginx实践。
负载均衡流量
24
灰度发布与蓝绿部署
灰度策略(金丝雀发布)、蓝绿部署、流量路由、版本回滚、A/B测试。
发布灰度
25
混沌工程与故障注入
混沌工程原则、故障注入工具(Chaos Monkey、Litmus)、故障演练、爆炸半径控制。
混沌故障注入
26
安全可靠性模式
认证与授权(OAuth2、JWT)、防SQL注入、防XSS/CSRF、安全头、密钥管理。
安全认证
27
数据备份与恢复模式
全量备份、增量备份、异地备份、快照技术、恢复演练、RPO与RTO。
备份恢复
28
多活与异地多活架构
同城双活、两地三中心、异地多活、数据同步(DTS)、全局流量管理(GTM)。
多活异地
29
自动化运维与自愈模式
自动化部署(CI/CD)、自愈脚本、自动扩缩容(HPA)、告警自愈、OpsGenie实践。
运维自愈
30
可靠性测试与度量
单元测试、集成测试、压力测试、故障注入测试、可靠性指标计算、SLA/SLO/SLI。
测试度量